package 树;

import binary_tree.TreeNode;

/**
 * 给你二叉树的根节点 root 和一个整数目标和 targetSum ，找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。
 * 如果存在，返回 true ；否则，返回 false
 * @author macy
 * @date 2025/11/10 16:30
 */
public class TreeNodePathSum {

    public static void main(String[] args) {



    }



    public boolean hasPathSum(TreeNode root, int targetSum) {

        if(root == null){
            return false;
        }

        targetSum-=root.val;

        if(root.left == null && root.right == null){
            return targetSum == 0;
        }

        boolean left = hasPathSum(root.left,targetSum);
        boolean right = hasPathSum(root.right,targetSum);
        return left || right;
    }


}
